<template>
  <div id="app">
    <keep-alive>
      <!-- 里面是当需要缓存时   显示组件的 router-view-->
      <router-view v-if="$route.meta.keepAlive"></router-view>
    </keep-alive>
    <!-- 外面是不需要缓存时 -->
    <router-view v-if="!$route.meta.keepAlive"></router-view>
  </div>
</template>

<script>
import { Wechatshare } from "@/http/api";
import wx from "weixin-js-sdk";
export default {
  name: "App",
  data() {
    return {};
  },
  methods: {
    setShareFn(data) {
      let _this = this;
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: data.wechat.appId, // 必填，公众号的唯一标识
        timestamp: data.wechat.timestamp, // 必填，生成签名的时间戳
        nonceStr: data.wechat.nonceStr, // 必填，生成签名的随机串
        signature: data.wechat.signature, // 必填，签名
        jsApiList: [
          "updateTimelineShareData",
          "updateAppMessageShareData",
          "hideMenuItems"
        ] // 必填，需要使用的JS接口列表
      });
      wx.ready(function() {
        //需在用户可能点击分享按钮前就先调用
        wx.hideMenuItems({
          menuList: [
            "menuItem:copyUrl",
            "menuItem:openWithSafari",
            "menuItem:openWithQQBrowser"
          ] // 要隐藏的菜单项，只能隐藏“传播类”和“保护类”按钮，所有menu项见附录3
        });
        wx.updateAppMessageShareData({
          title: data.title, // 分享标题
          desc: data.desc,
          link: data.url, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: data.logo, // 分享图标
          success: function(res) {
            // 设置成功
          }
        });
        wx.updateTimelineShareData({
          title: data.title, // 分享标题
          link: data.url, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: data.logo, // 分享图标
          success: function(res) {
            // 设置成功
          }
        });
      });
    },
    getShareData() {
      let data = {
        type: 6
      };
      Wechatshare(data).then(res => {
        if (res.data.code == 1) {
          this.setShareFn(res.data.data);
        }
      });
    }
  },
  created() {
    // this.getShareData()
  }
};
</script>

<style>
#app {
}
</style>
